﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SKYNET.Callback
{
    public enum CallbackType : ulong
    {
        SteamUserCallbacks = 100,
        SteamGameServerCallbacks = 200,
        SteamFriendsCallbacks = 300,
        SteamBillingCallbacks = 400,
        SteamMatchmakingCallbacks = 500,
        SteamContentServerCallbacks = 600,
        SteamUtilsCallbacks = 700,
        ClientFriendsCallbacks = 800,
        ClientUserCallbacks = 900,
        SteamAppsCallbacks = 1000,
        SteamUserStatsCallbacks = 1100,
        SteamNetworkingCallbacks = 1200,
        ClientRemoteStorageCallbacks = 1300,
        ClientDepotBuilderCallbacks = 1400,
        SteamGameServerItemsCallbacks = 1500,
        ClientUtilsCallbacks = 1600,
        SteamGameCoordinatorCallbacks = 1700,
        SteamGameServerStatsCallbacks = 1800,
        Steam2AsyncCallbacks = 1900,
        SteamGameStatsCallbacks = 2000,
        ClientHTTPCallbacks = 2100,
        ClientScreenshotsCallbacks = 2200,
        SteamScreenshotsCallbacks = 2300,
        ClientAudioCallbacks = 2400,
        ClientUnifiedMessagesCallbacks = 2500,
        SteamStreamLauncherCallbacks = 2600,
        ClientControllerCallbacks = 2700,
        SteamControllerCallbacks = 2800,
        ClientParentalSettingsCallbacks = 2900,
        ClientDeviceAuthCallbacks = 3000,
        ClientNetworkDeviceManagerCallbacks = 3100,
        ClientMusicCallbacks = 3200,
        ClientRemoteClientManagerCallbacks = 3300,
        ClientUGCCallbacks = 3400,
        SteamStreamClientCallbacks = 3500,
        ClientProductBuilderCallbacks = 3600,
        ClientShortcutsCallbacks = 3700,
        ClientRemoteControlManagerCallbacks = 3800,
        SteamAppListCallbacks = 3900,
        SteamMusicCallbacks = 4000,
        SteamMusicRemoteCallbacks = 4100,
        ClientVRCallbacks = 4200,
        ClientReservedCallbacks = 4300,
        ClientGameNotificationCallbacks = 4300,
        SteamGameNotificationCallbacks = 4400,
        SteamReservedCallbacks = 4400,
        SteamHTMLSurfaceCallbacks = 4500,
        ClientVideoCallbacks = 4600,
        ClientInventoryCallbacks = 4700,
        ClientBluetoothManagerCallbacks = 4800,
        ClientSharedConnectionCallbacks = 4900,
        SteamParentalSettingsCallbacks = 5000,
        ClientShaderCallbacks = 5100,
        SteamGameSearchCallbacks = 5200,
        SteamPartiesCallbacks = 5300,
        ClientPartiesCallbacks = 5400,
        SteamSTARCallbacks = 5500,
        ClientSTARCallbacks = 5600,
        SteamRemotePlayCallbacks = 5700,
        ClientCompatCallbacks = 5800,

        SteamServersConnected = 101,
        SteamServerConnectFailure = 102,
        SteamServersDisconnected = 103,
        ClientGameServerDeny = 113,
        GSPolicyResponse = 115,
        IPCFailure = 117,
        LicensesUpdated = 125,
        ValidateAuthTicketResponse = 143,
        MicroTxnAuthorizationResponse = 152,
        EncryptedAppTicketResponse = 154,
        GetAuthSessionTicketResponse = 163,
        GameWebCallback = 164,
        StoreAuthURLResponse = 165,
        MarketEligibilityResponse = 166,
        DurationControl = 167,
        GSClientApprove = 201,
        GSClientDeny = 202,
        GSClientKick = 203,
        GSClientAchievementStatus = 206,
        GSGameplayStats = 207,
        GSClientGroupStatus = 208,
        GSReputation = 209,
        AssociateWithClanResult = 210,
        ComputeNewPlayerCompatibilityResult = 211,
        PersonaStateChange = 304,
        GameOverlayActivated = 331,
        GameServerChangeRequested = 332,
        GameLobbyJoinRequested = 333,
        AvatarImageLoaded = 334,
        ClanOfficerListResponse = 335,
        FriendRichPresenceUpdate = 336,
        GameRichPresenceJoinRequested = 337,
        GameConnectedClanChatMsg = 338,
        GameConnectedChatJoin = 339,
        GameConnectedChatLeave = 340,
        DownloadClanActivityCountsResult = 341,
        JoinClanChatRoomCompletionResult = 342,
        GameConnectedFriendChatMsg = 343,
        FriendsGetFollowerCount = 344,
        FriendsIsFollowing = 345,
        FriendsEnumerateFollowingList = 346,
        SetPersonaNameResponse = 347,
        UnreadChatMessagesChanged = 348,
        OverlayBrowserProtocolNavigation = 349,
        FavoritesListChanged = 502,
        LobbyInvite = 503,
        LobbyEnter = 504,
        LobbyDataUpdate = 505,
        LobbyChatUpdate = 506,
        LobbyChatMsg = 507,
        LobbyGameCreated = 509,
        LobbyMatchList = 510,
        LobbyKicked = 512,
        LobbyCreated = 513,
        PSNGameBootInviteResult = 515,
        FavoritesListAccountsUpdated = 516,
        IPCountry = 701,
        LowBatteryPower = 702,
        SteamAPICallCompleted = 703,
        SteamShutdown = 704,
        CheckFileSignature = 705,
        GamepadTextInputDismissed = 714,
        AppResumingFromSuspend = 736,
        FloatingGamepadTextInputDismissed = 738,
        DlcInstalled = 1005,
        RegisterActivationCodeResponse = 1008,
        NewUrlLaunchParameters = 1014,
        AppProofOfPurchaseKeyResponse = 1021,
        FileDetailsResult = 1023,
        TimedTrialStatus = 1030,
        UserStatsReceived = 1101,
        UserStatsStored = 1102,
        UserAchievementStored = 1103,
        LeaderboardFindResult = 1104,
        LeaderboardScoresDownloaded = 1105,
        LeaderboardScoreUploaded = 1106,
        NumberOfCurrentPlayers = 1107,
        UserStatsUnloaded = 1108,
        GSStatsUnloaded = 1108,
        UserAchievementIconFetched = 1109,
        GlobalAchievementPercentagesReady = 1110,
        LeaderboardUGCSet = 1111,
        // PS3TrophiesInstalled = 1112,
        GlobalStatsReceived = 1112,
        // SocketStatusCallback = 1201,
        P2PSessionRequest = 1202,
        P2PSessionConnectFail = 1203,
        SteamNetConnectionStatusChangedCallback = 1221,
        SteamNetAuthenticationStatus = 1222,
        SteamNetworkingFakeIPResult = 1223,
        SteamNetworkingMessagesSessionRequest = 1251,
        SteamNetworkingMessagesSessionFailed = 1252,
        SteamRelayNetworkStatus = 1281,
        RemoteStorageFileShareResult = 1307,
        RemoteStoragePublishFileResult = 1309,
        RemoteStorageDeletePublishedFileResult = 1311,
        RemoteStorageEnumerateUserPublishedFilesResult = 1312,
        RemoteStorageSubscribePublishedFileResult = 1313,
        RemoteStorageEnumerateUserSubscribedFilesResult = 1314,
        RemoteStorageUnsubscribePublishedFileResult = 1315,
        RemoteStorageUpdatePublishedFileResult = 1316,
        RemoteStorageDownloadUGCResult = 1317,
        RemoteStorageGetPublishedFileDetailsResult = 1318,
        RemoteStorageEnumerateWorkshopFilesResult = 1319,
        RemoteStorageGetPublishedItemVoteDetailsResult = 1320,
        RemoteStoragePublishedFileSubscribed = 1321,
        RemoteStoragePublishedFileUnsubscribed = 1322,
        RemoteStoragePublishedFileDeleted = 1323,
        RemoteStorageUpdateUserPublishedItemVoteResult = 1324,
        RemoteStorageUserVoteDetails = 1325,
        RemoteStorageEnumerateUserSharedWorkshopFilesResult = 1326,
        RemoteStorageSetUserPublishedFileActionResult = 1327,
        RemoteStorageEnumeratePublishedFilesByUserActionResult = 1328,
        RemoteStoragePublishFileProgress = 1329,
        RemoteStoragePublishedFileUpdated = 1330,
        RemoteStorageFileWriteAsyncComplete = 1331,
        RemoteStorageFileReadAsyncComplete = 1332,
        RemoteStorageLocalFileChange = 1333,
        SteamGameCoordinator = 1701,
        SteamGameCoordinatorFailed = 1702,
        GSStatsReceived = 1800,
        GSStatsStored = 1801,
        HTTPRequestCompleted = 2101,
        HTTPRequestHeadersReceived = 2102,
        HTTPRequestDataReceived = 2103,
        ScreenshotReady = 2301,
        ScreenshotRequested = 2302,
        SteamInputDeviceConnected = 2801,
        SteamInputDeviceDisconnected = 2802,
        SteamInputConfigurationLoaded = 2803,
        SteamUGCQueryCompleted = 3401,
        SteamUGCRequestUGCDetailsResult = 3402,
        CreateItemResult = 3403,
        SubmitItemUpdateResult = 3404,
        ItemInstalled = 3405,
        DownloadItemResult = 3406,
        UserFavoriteItemsListChanged = 3407,
        SetUserItemVoteResult = 3408,
        GetUserItemVoteResult = 3409,
        StartPlaytimeTrackingResult = 3410,
        StopPlaytimeTrackingResult = 3411,
        AddUGCDependencyResult = 3412,
        RemoveUGCDependencyResult = 3413,
        AddAppDependencyResult = 3414,
        RemoveAppDependencyResult = 3415,
        GetAppDependenciesResult = 3416,
        DeleteItemResult = 3417,
        UserSubscribedItemsListChanged = 3418,
        WorkshopEULAStatus = 3420,
        SteamAppInstalled = 3901,
        SteamAppUninstalled = 3902,
        PlaybackStatusHasChanged = 4001,
        VolumeHasChanged = 4002,
        MusicPlayerWantsVolume = 4011,
        MusicPlayerSelectsQueueEntry = 4012,
        MusicPlayerSelectsPlaylistEntry = 4013,
        MusicPlayerRemoteWillActivate = 4101,
        MusicPlayerRemoteWillDeactivate = 4102,
        MusicPlayerRemoteToFront = 4103,
        MusicPlayerWillQuit = 4104,
        MusicPlayerWantsPlay = 4105,
        MusicPlayerWantsPause = 4106,
        MusicPlayerWantsPlayPrevious = 4107,
        MusicPlayerWantsPlayNext = 4108,
        MusicPlayerWantsShuffled = 4109,
        MusicPlayerWantsLooped = 4110,
        MusicPlayerWantsPlayingRepeatStatus = 4114,
        HTML_BrowserReady = 4501,
        HTML_NeedsPaint = 4502,
        HTML_StartRequest = 4503,
        HTML_CloseBrowser = 4504,
        HTML_URLChanged = 4505,
        HTML_FinishedRequest = 4506,
        HTML_OpenLinkInNewTab = 4507,
        HTML_ChangedTitle = 4508,
        HTML_SearchResults = 4509,
        HTML_CanGoBackAndForward = 4510,
        HTML_HorizontalScroll = 4511,
        HTML_VerticalScroll = 4512,
        HTML_LinkAtPosition = 4513,
        HTML_JSAlert = 4514,
        HTML_JSConfirm = 4515,
        HTML_FileOpenDialog = 4516,
        HTML_NewWindow = 4521,
        HTML_SetCursor = 4522,
        HTML_StatusText = 4523,
        HTML_ShowToolTip = 4524,
        HTML_UpdateToolTip = 4525,
        HTML_HideToolTip = 4526,
        HTML_BrowserRestarted = 4527,
        GetVideoURLResult = 4611,
        GetOPFSettingsResult = 4624,
        SteamInventoryResultReady = 4700,
        SteamInventoryFullUpdate = 4701,
        SteamInventoryDefinitionUpdate = 4702,
        SteamInventoryEligiblePromoItemDefIDs = 4703,
        SteamInventoryStartPurchaseResult = 4704,
        SteamInventoryRequestPricesResult = 4705,
        SteamParentalSettingsChanged = 5001,
        SearchForGameProgressCallback = 5201,
        SearchForGameResultCallback = 5202,
        RequestPlayersForGameProgressCallback = 5211,
        RequestPlayersForGameResultCallback = 5212,
        RequestPlayersForGameFinalResultCallback = 5213,
        SubmitPlayerResultResultCallback = 5214,
        EndGameResultCallback = 5215,
        JoinPartyCallback = 5301,
        CreateBeaconCallback = 5302,
        ReservationNotificationCallback = 5303,
        ChangeNumOpenSlotsCallback = 5304,
        AvailableBeaconLocationsUpdated = 5305,
        ActiveBeaconsUpdated = 5306,
        SteamRemotePlaySessionConnected = 5701,
        SteamRemotePlaySessionDisconnected = 5702,
    }
}
